Constraint Propagation and Explanation over Novel Types by Abstract Compilation
نویسندگان
چکیده
The appeal of constraint programming (CP) lies in compositionality – the ability to mix and match constraints as needed. However, this flexibility typically does not extend to the types of variables. Solvers usually support only a small set of pre-defined variable types, and extending this is not typically a simple exercise: not only must the solver engine be updated, but then the library of supported constraints must be re-implemented to support the new type. In this paper, we attempt to ease this second step. We describe a system for automatically deriving a native-code implementation of a global constraint (over novel variable types) from a declarative specification, complete with the ability to explain its propagation, a requirement if we want to make use of modern lazy clause generation CP solvers. We demonstrate this approach by adding support for wrapped-integer variables to chuffed, a lazy clause generation CP solver. 1998 ACM Subject Classification F.4.1 Mathematical Logic, I.2.2 Automatic Programming
منابع مشابه
Type Inference for Static Compilation of JavaScript (Extended Version)
We present a type system and inference algorithm for a rich subset of JavaScript equipped with objects, structural subtyping, prototype inheritance, and first-class methods. The type system supports abstract and recursive objects, and is expressive enough to accommodate several standard benchmarks with only minor workarounds. The invariants enforced by the types enable an ahead-of-time compiler...
متن کاملAn Application of Constraint Propagation to Data-Flow Analysis
The optimized compilation of Constraint Logic Programming (CLP) languages can give rise to impressive performance improvements, even more impressive than the ones obtainable for the compilation of Prolog. On the other hand, the global analysis techniques needed to derive the necessary information can be significantly more complicated than in the case of Prolog. The original contribution of the ...
متن کاملKnowledge-Based Programming Using Abstract Data Types
1. Abstract Features of the GLISP programming system that support knowledge-based programming are described. These include compile-time expansion of object-centered programs, interpretation of messages and operations relative to data type, inheritance of properties and behavior from multiple superclasses, type inference and propagation, conditional compilation, symbolic optimization of compiled...
متن کاملConstraint-Based Querying for Bayesian Network Exploration
Understanding the knowledge that resides in a Bayesian network can be hard, certainly when a large network is to be used for the first time, or when the network is complex or has just been updated. Tools to assist users in the analysis of Bayesian networks can help. In this paper, we introduce a novel general framework and tool for answering exploratory queries over Bayesian networks. The frame...
متن کاملFreeness Analysis in the Presence of Numerical Constraints
This paper describes a novel application of abstract interpretation dealing with mixed systems of numerical and unification constraints. In general, the abstraction of such systems cannot be separated into two independent parts, since a program variable is often involved in both types of constraints. The proposed abstraction deals in an elegant way with the interaction between the two types of ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2016